import VueDompurifyHtml from 'vue-dompurify-html'; // 替代v-html插件防止xss
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
import { setGoodsNum, isObject } from '@/util/util'; // 导出工具类
// 引入iconfont
import '@/assets/style/iconfont/iconfont.css';
import '@/assets/style/common.less'; // 引入项目样式文件
import '@/assets/style/index.less'; // 引入项目样式文件
import 'vant/lib/index.css'; // 引入vant样式文件
import '@/assets/style/vote.less'; // 引入项目样式文件
import 'amfe-flexible'; // 导入适配
// import { setupWechatAuth } from '@/configs/wechatAuth'
import vueWechatAuth from '@/plugins/vueWechatAuth'
import { WECHAT_APP_ID } from '@/util/constants'


// 处理url
const handleLoadUrl = () => {
	const url = window.location.href;
	const match = url.match(/#([^?]+)/);
	const path = match ? match[1] : url.substring(url.indexOf('#') + 2);
	return path;
};

const $globalReady = {
	install: (app) => {
		//初始化请求
		app.use($globalHttp());

		// 实例化pinia
		const pinia = createPinia()
		pinia.use(piniaPluginPersistedstate) // 持久化
		app.use(pinia);
		app.use($globalRegisterStore);

		// 路由初始化
		app.use($globalRouter);

		// // 初始化语言
		app.use($globalLang);

		// 依赖注入
		// app.provide('$provideGoodsnum', getGoodsnum);
		// app.provide('$provideLang', getLang);
		app.provide('$provideLoadUrl', handleLoadUrl);

		// 导入插件
		app.use(VueDompurifyHtml);

		// 微信授权
		app.use(vueWechatAuth, { appid: WECHAT_APP_ID })
	},
};

export { $globalReady };
